﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

using Banesco.Entidades;
using Banesco.Logica;

namespace WebCliente.UserControls
{
    public partial class ucDatosBasicosOperacion : System.Web.UI.UserControl
    {
        Mensaje retMensaje = new Mensaje();
        BanescoBase PaginaBase = new BanescoBase();
        BSBanesco objBS = new BSBanesco();


        #region Propiedades

        public Boolean HabilitarChequera
        {
            set
            {
                tdChequera.Visible = value;
                //--RegularExpressionValidator13.Visible = value;
            }
        }

        public Boolean Chequera
        {
            get { return chkChequera.Checked; }
            set { chkChequera.Checked = value; }
        }

        public String CantidadChequera
        {
            get { return ddlCantidadChequera.SelectedValue ; }
            set { ddlCantidadChequera.SelectedValue = value; }
        }

        public bool HabilitarPEPs
        {
            get { return trPEPs.Visible; }
            set { trPEPs.Visible = value; }
        }

        public bool HabilitarBeneficiarios
        {
            get { return trBeneficiarios.Visible; }
            set { trBeneficiarios.Visible = value; }
        }

        public bool HabilitarIntermediarios
        {
            get { return trIntermediario.Visible; }
            set { trIntermediario.Visible = value; }
        }

        public bool HabilitarNombreIntermediarios
        {
            get { return trNombreIntermediario.Visible; }
            set { trNombreIntermediario.Visible = value; }
        }

        public string TipoFirma
        {
            get { return ddlTipoFirma.SelectedValue; }
            set { ddlTipoFirma.SelectedValue = value; }
        }

        //public Boolean  OrigenFondosTrabajo
        //{
        //    get { return chkTrabajo.Checked  ; }
        //    set { chkTrabajo.Checked = value; }
        //}

        //public Boolean OrigenFondosHerencia
        //{
        //    get { return chkHerencia.Checked; }
        //    set { chkHerencia.Checked = value; }
        //}

        //public Boolean OrigenFondosVenta
        //{
        //    get { return chkVenta.Checked; }
        //    set { chkVenta.Checked = value; }
        //}

        //public Boolean OrigenFondosInversiones
        //{
        //    get { return chkInversiones.Checked; }
        //    set { chkInversiones.Checked = value; }
        //}

        //public Boolean OrigenFondosServiciosPrestados
        //{
        //    get { return chkServiciosPrestados.Checked; }
        //    set { chkServiciosPrestados.Checked = value; }
        //}

        //public Boolean OrigenFondosReciboDeDividendos
        //{
        //    get { return chkDividendos.Checked; }
        //    set { chkDividendos.Checked = value; }
        //}

        //public String EspecificacionOrigenFondos
        //{
        //    get { return txtEspecificacionOrigenDeFondos.Text; }
        //    set { txtEspecificacionOrigenDeFondos.Text = value; }
        //}

        public string OrigenDeLosFondos
        {
            get { return ddlOrigenFondos.SelectedValue; }
            set { ddlOrigenFondos.SelectedValue = value; }
        }

        //public Boolean ModoAperturaEfectivo
        //{
        //    get { return chkEfectivo.Checked; }
        //    set { chkEfectivo.Checked = value; }
        //}

        //public Boolean ModoAperturaTransferencia
        //{
        //    get { return chkTransferencia.Checked; }
        //    set { chkTransferencia.Checked = value ; }
        //}

        //public Boolean ModoAperturaChequeLocal
        //{
        //    get { return chkChequeLocal.Checked; }
        //    set { chkChequeLocal.Checked = value; }
        //}

        //public Boolean ModoAperturaChequeExtranjero
        //{
        //    get { return chkChequeExtranjero.Checked; }
        //    set { chkChequeExtranjero.Checked = value; }
        //}

        //public Boolean ModoAperturaChequeGerenciaBanesco
        //{
        //    get { return chkChequeGerenciaBanesco.Checked; }
        //    set { chkChequeGerenciaBanesco.Checked = value; }
        //}

        //public Boolean ModoAperturaChequeGerenciaOtroBanco
        //{
        //    get { return chkChequeGerenciaOtroBanco.Checked; }
        //    set { chkChequeGerenciaOtroBanco.Checked = value; }
        //}

        //public Boolean ModoAperturaChequePropio
        //{
        //    get { return chkChequePropio.Checked; }
        //    set { chkChequePropio.Checked = value; }
        //}

        //public Boolean ModoAperturaDebitoCuenta
        //{
        //    get { return chkDebitoACuenta.Checked; }
        //    set { chkDebitoACuenta.Checked = value; }
        //}

        //public Boolean ModoAperturaOtros
        //{
        //    get { return chkOtros.Checked; }
        //    set { chkOtros.Checked = value; }
        //}

        public string ModoApertura
        {

            get { return ddlModoApertura.SelectedValue; }
            set { ddlModoApertura.SelectedValue = value; }
        }

        public String EspecificacionModoApertura
        {
            get { return txtEspecificacionModoDeApertura.Text; }
            set { txtEspecificacionModoDeApertura.Text = value; }
        }

        public String NumeroDepositosRetirosAlMes
        {
            get { return txtNumeroDepositosRetirosAlMes.Text; }
            set { txtNumeroDepositosRetirosAlMes.Text = value; }
        }

        public String MontoDepositosRetirosAlMes
        {
            get { return txtMonto.Text; }
            set { txtMonto.Text = value; }
        }

        public String SePermitenTransferencias
        {
            get { return ddlSePermitenTransferencias.SelectedValue; }
            set { ddlSePermitenTransferencias.SelectedValue = value; }
        }

        public string NumeroTransferenciasEmitidas
        {
            get { return txtNumeroTransferenciasEmitidas.Text; }
            set { txtNumeroTransferenciasEmitidas.Text = value; }
        }

        public string MontoTransferenciasEmitidas
        {
            get { return txtMontoTransferenciasEmitidas.Text; }
            set { txtMontoTransferenciasEmitidas.Text = value; }
        }

        public string NumeroTransferenciasRecibidas
        {
            get { return txtNumeroTransferenciasRecibidas.Text; }
            set { txtNumeroTransferenciasRecibidas.Text = value; }
        }

        public string MontoTransferenciasRecibidas
        {
            get { return txtMontoTransferenciasRecibidas.Text; }
            set { txtMontoTransferenciasRecibidas.Text = value; }
        }

        public string NumeroRetirosEfectivo
        {
            get { return txtNumeroRetirosEnEfectivo.Text; }
            set { txtNumeroRetirosEnEfectivo.Text = value; }
        }

        public string MontoRetirosEfectivo
        {
            get { return txtMontoRetirosEnEfectivo.Text; }
            set { txtMontoRetirosEnEfectivo.Text = value; }
        }

        public string NumeroDepositosEfectivo
        {
            get { return txtNumeroDepositosEnEfectivo.Text; }
            set { txtNumeroDepositosEnEfectivo.Text = value; }
        }

        public string MontoDepositosEfectivo
        {
            get { return txtMontoDepositosEnEfectivo.Text; }
            set { txtMontoDepositosEnEfectivo.Text = value; }
        }

        public string NumeroDepositoOtros
        {
            get { return txtNumeroDepositosOtros.Text; }
            set { txtNumeroDepositosOtros.Text = value; }
        }

        public string MontoDepositoOtros
        {
            get { return txtMontoDepositosOtros.Text; }
            set { txtMontoDepositosOtros.Text = value; }
        }

        public string PaisTransferencia1
        {
            get { return ddlPais1.SelectedValue; }
            set { ddlPais1.SelectedValue = value; }
        }

        public Boolean PaisTransferencia1Env
        {
            get { return chktxtPaisTransferencia1Env.Checked; }
            set { chktxtPaisTransferencia1Env.Checked = value; }
        }

        public Boolean PaisTransferencia1Rec
        {
            get { return chktxtPaisTransferencia1Rec.Checked; }
            set { chktxtPaisTransferencia1Rec.Checked = value; }
        }

        public string PaisTransferencia2
        {
            get { return ddlPais2.SelectedValue; }
            set { ddlPais2.SelectedValue = value; }
        }

        public Boolean PaisTransferencia2Env
        {
            get { return chktxtPaisTransferencia2Env.Checked; }
            set { chktxtPaisTransferencia2Env.Checked = value; }
        }

        public Boolean PaisTransferencia2Rec
        {
            get { return chktxtPaisTransferencia2Rec.Checked; }
            set { chktxtPaisTransferencia2Rec.Checked = value; }
        }

        public string PaisTransferencia3
        {
            get { return ddlPais3.SelectedValue; }
            set { ddlPais3.SelectedValue = value; }
        }

        public Boolean PaisTransferencia3Env
        {
            get { return chktxtPaisTransferencia3Env.Checked; }
            set { chktxtPaisTransferencia3Env.Checked = value; }
        }

        public Boolean PaisTransferencia3Rec
        {
            get { return chktxtPaisTransferencia3Rec.Checked; }
            set { chktxtPaisTransferencia3Rec.Checked = value; }
        }

        public string PaisTransferencia4
        {
            get { return ddlPais4.SelectedValue; }
            set { ddlPais4.SelectedValue = value; }
        }

        public Boolean PaisTransferencia4Env
        {
            get { return chktxtPaisTransferencia4Env.Checked; }
            set { chktxtPaisTransferencia4Env.Checked = value; }
        }

        public Boolean PaisTransferencia4Rec
        {
            get { return chktxtPaisTransferencia4Rec.Checked; }
            set { chktxtPaisTransferencia4Rec.Checked = value; }
        }

        public string EsPEPs
        {
            get { return ddlEsPEP.SelectedValue; }
            set { ddlEsPEP.SelectedValue = value; }
        }

        public string EsBeneficiario
        {
            get { return ddlEsBeneficiario.SelectedValue; }
            set { ddlEsBeneficiario.SelectedValue = value; }
        }

        public string EsIntermediario
        {
            get { return ddlEsIntermediario.SelectedValue; }
            set { ddlEsIntermediario.SelectedValue = value; }
        }

        public string NombrePropietarioFondo
        {
            get { return txtNombrePropietarioFondos.Text; }
            set { txtNombrePropietarioFondos.Text = value; }
        }

        public string TipoIdentificacionFondo
        {
            get { return ddlTipoIdentificacionPropietarioFondos.SelectedValue; }
            set { ddlTipoIdentificacionPropietarioFondos.SelectedValue = value; }
        }

        public string IdentificacionPropietarioFondos
        {
            get { return txtIdentificacionPropietarioFondos.Text; }
            set { txtIdentificacionPropietarioFondos.Text = value; }
        }
        //public Boolean  HabilitarModos
        //{
        //    set { HabilitarModosApertura(value); }
        //}

        public string MontoApertura
        {
            get { return txtMontoApertura.Text; }
            set { txtMontoApertura.Text = value; }
        }

        public string UsoDeCuenta
        {
            get { return ddlUso.SelectedValue; }
            set { ddlUso.SelectedValue = value; }
        }

        public Boolean HabilitarTransferencias
        {
            set
            {
                trTransacciones1.Visible = value;
                trTransacciones2.Visible = value;
                trTransacciones3.Visible = value;
            }
        }

        public String TipoCuenta
        {
            get { return ddlTipoDeCuenta.SelectedValue; }
            set { ddlTipoDeCuenta.SelectedValue = value; }
        }

        #endregion

        //protected void HabilitarModosApertura(Boolean valor)
        //{
        //    tdHerencia.Visible = valor;
        //    tdTrabajo.Visible = valor;
        //}

        public Boolean HabilitarTodosValidators
        {
            set { HabilitarTodosValidatorsDatosBasicosOperacion(value); }
        }

        protected void HabilitarTodosValidatorsDatosBasicosOperacion(Boolean valor)
        {
            RequiredFieldValidator1.Visible = valor;
            RequiredFieldValidator2.Visible = valor;
            RequiredFieldValidator3.Visible = valor;
            RequiredFieldValidator4.Visible = valor;
            RequiredFieldValidator5.Visible = valor;
            RequiredFieldValidator6.Visible = valor;
            RequiredFieldValidator7.Visible = valor;
            rfvSePermitenTransferencias.Visible = valor;


            RequiredFieldValidator1.Enabled = valor;
            RequiredFieldValidator2.Enabled = valor;
            RequiredFieldValidator3.Enabled = valor;
            RequiredFieldValidator4.Enabled = valor;
            RequiredFieldValidator5.Enabled = valor;
            RequiredFieldValidator6.Enabled = valor;
            RequiredFieldValidator7.Enabled = valor;
            rfvSePermitenTransferencias.Enabled = valor;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CargarOrigenFondos();
                CargarPaises();
            }
        }

        protected void Page_PreRender(object sender, EventArgs e)
        {
            if (Session["Pais"] != null)
            {
                if (Session["Pais"].ToString() == Constantes.VENEZUELA)
                {
                    //chkChequera.Visible = false;
                    //txtCantidadChequera.Visible = false;
                    tdChequera.Visible = false;
                }
            }
        }

        protected void chkChequera_CheckedChanged(object sender, EventArgs e)
        {
            if (chkChequera.Checked == true)
            {
                //tdChequera.Visible = true;
                //RegularExpressionValidator13.Visible = true;
                //divCantidadChequera.Visible = true;
                lblCantidadChequera.Visible = true;
                ddlCantidadChequera.Visible = true;
            }
            else
            {
                //tdChequera.Visible = false;
                //RegularExpressionValidator13.Visible = false;
                //divCantidadChequera.Visible = false;
                lblCantidadChequera.Visible = false;
                ddlCantidadChequera.Visible = false;
                ddlCantidadChequera.SelectedIndex = 0;
            }
        }

        protected void CargarOrigenFondos()
        {
            DataSet dsDatos = new DataSet();
            objBS.ObtenerOrigenFondos(ref dsDatos);
            PaginaBase.CargarDropDown(ddlOrigenFondos, dsDatos.Tables[0], "of_descripcion", "of_codigo", false, Constantes.LISTASSELECCIONEITEM);

        }

        protected void ddlSePermitenTransferencias_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlSePermitenTransferencias.SelectedValue == "S")
            {
                trTransacciones1.Visible = true;
                trTransacciones2.Visible = true;
                trTransacciones3.Visible = true;
                //trTransferencias.Visible = true;
            }
            else
            {
                trTransacciones1.Visible = false;
                trTransacciones2.Visible = false;
                trTransacciones3.Visible = false;

                //trTransferencias.Visible = false;
            }
        }

        protected void ddlEsIntermediario_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlEsIntermediario.SelectedValue == "S")
            {
                trNombreIntermediario.Visible = true;
            }
            else
            {
                trNombreIntermediario.Visible = false;
            }
        }

        protected void ddlModoApertura_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlModoApertura.SelectedValue == "O")
                txtEspecificacionModoDeApertura.Visible = true;
            else
                txtEspecificacionModoDeApertura.Visible = false;
        }

        protected void ddlTipoDeCuenta_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (ddlTipoDeCuenta.SelectedValue == "A")
            {
                Session["TipoCuenta"] = "A";
                tdChequera.Visible = false; 
                chkChequera.Checked = false;
                chkChequera_CheckedChanged(sender, e);
            }
            else if (ddlTipoDeCuenta.SelectedValue == "C")
            {
                Session["TipoCuenta"] = "C";
                tdChequera.Visible = true;
                chkChequera.Checked = true;
                chkChequera_CheckedChanged(sender, e);
            }
        }

        protected void CargarPaises()
        {
            DataSet dsDatos = new DataSet();

            objBS.ObtenerPaises(ref dsDatos);
            PaginaBase.CargarDropDown(ddlPais1, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
            PaginaBase.CargarDropDown(ddlPais2, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
            PaginaBase.CargarDropDown(ddlPais3, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
            PaginaBase.CargarDropDown(ddlPais4, dsDatos.Tables[0], "pa_descripcion", "pa_codigo", false, "- Seleccione País -");
        }


    }
}